package core.voyageur;

import java.util.ArrayList;

import core.vols.VolInstance;

public class Trajet {
	
	private ArrayList<VolInstance> trajet;

	/**
	 * @param trajet
	 */
	public Trajet(ArrayList<VolInstance> trajet) {
		super();
		this.trajet = trajet;
	}
	
	public Trajet() {
		super();
		trajet = new ArrayList<VolInstance>();
	}
	
	/**
	 * @return the trajet
	 */
	public ArrayList<VolInstance> getTrajet() {
		return trajet;
	}
	
	public void addVol (VolInstance v) {
		trajet.add(v);
	}
	
	public void removeVol (VolInstance v) {
		trajet.remove(v);
	}
	
	public void removeVol (int ind) {
		trajet.remove(ind);
	}
	
	public VolInstance getVol (int i) {
		return trajet.get(i);
	}
	
	public int getIndex (VolInstance v) {
		return trajet.indexOf(v);
	}
	
	public void remplacerVol (VolInstance vOrigine, VolInstance vNouveau) {
		trajet.add(trajet.indexOf(vOrigine), vNouveau);
		trajet.remove(vOrigine);
	}
	
	public void clearTrajet () {
		trajet.clear();
	}
	
	public void majTrajet (Billet b) {
		VolInstance v;
		trajet.clear();
		for (int i=0 ; i<b.nbVol() ; i++) {
			v = b.getVol(i);
			trajet.add(v);
		}
	}
	
	public String toString() {
		String res="";
		for(VolInstance v : trajet) {
			res += v.toString()+ " -> ";
		}
		return res.substring(0, res.lastIndexOf("-")-1);
	}
	
	public VolInstance getLastVol() {
		return trajet.get(trajet.size()-1);
	}

}
